Actor "Firestorm" : CWeapFlame// replaces CWeapFlame
{
	Weapon.KickBack 100
	Weapon.YAdjust 0
	+UNDROPPABLE
	Weapon.AmmoGive1 0
	Weapon.AmmoType2 "Mana2"
	Weapon.AmmoUse2 5
	Weapon.SelectionOrder 1
	States
	{
	Select:
		CFLM A 1 Bright A_Raise
		TNT1 A 0 A_Raise
		Loop
	Deselect:
		CFLM A 1 Bright A_Lower
		TNT1 A 0 A_Lower
		Loop
	Ready:
		CFLM AAAABBBBCCCC 1 Bright A_WeaponReady
		Loop
	Fire:
		CFLM A 1 Bright Offset(-5,40)
		CFLM A 1 Bright Offset(-3,43)
		CFLM D 1 Bright Offset(-6,48)
		CFLM D 1 Bright Offset(-4,45)
		CFLM D 1 Bright Offset(-2,41)
		CFLM D 1 Bright Offset(-1,43)
		CFLM E 1 Bright Offset(-5,48) A_CFlameAttack
		CFLM E 1 Bright Offset(-3,49) A_SetPitch(Pitch-1.5)
		CFLM E 1 Bright Offset(-1,48) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-2,44) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright offset(3,49) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright offset(2,41)
		CFLM F 1 Bright offset(3,46)
		CFLM F 1 Bright Offset(1,45)
		CFLM E 1 Bright Offset(4,48)
		CFLM E 1 Bright Offset(2,43)
		CFLM E 1 Bright Offset(1,44)
		CFLM E 1 Bright Offset(-3,45)
		CFLM G 2 Bright Offset(0,50)
		CFLM G 2 Bright Offset(0,65)
		Goto Ready
	AltFire:
		CFLM A 1 Bright Offset(-5,40)
		CFLM A 1 Bright Offset(-3,43)
		CFLM D 1 Bright Offset(-6,48)
		CFLM D 1 Bright Offset(-4,45)
		CFLM D 1 Bright Offset(-2,41)
		CFLM D 1 Bright Offset(-1,43)
		CFLM E 0 Bright A_PlayWeaponSound("ClericFlameFire")
		CFLM F 0 Bright A_FireCustomMissile("FireStreak",0,0,-10,0)
		CFLM F 1 Bright Offset(-5,48) A_FireCustomMissile("FireStreak",0,1,10,0)
		CFLM F 1 Bright Offset(-3,49) A_SetPitch(Pitch-2.0)
		CFLM F 1 Bright Offset(-1,48) A_SetPitch(Pitch+.5)
		CFLM F 1 Bright Offset(-2,44) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-5,48) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-3,49) A_SetPitch(Pitch+.5)
		CFLM E 1 Bright Offset(-1,48)
		CFLM E 1 Bright Offset(-2,44)
		CFLM F 1 Bright offset(3,49)
		CFLM F 1 Bright offset(2,41)
		CFLM F 1 Bright offset(3,46)
		CFLM F 1 Bright Offset(1,45)
		CFLM E 1 Bright Offset(4,48)
		CFLM E 1 Bright Offset(2,43)
		CFLM E 1 Bright Offset(1,44)
		CFLM E 1 Bright Offset(-3,45)
		CFLM F 1 Bright Offset(-1,42)
		CFLM F 1 Bright Offset(-2,45)
		CFLM F 1 Bright Offset(-2,48)
		CFLM F 1 Bright Offset(-3,44)
		CFLM E 1 Bright Offset(2,49)
		CFLM E 1 Bright Offset(3,41)
		CFLM G 2 Bright Offset(0,50)
		CFLM G 2 Bright Offset(0,65)
		Goto Ready
	}
}

Actor NewCFlameMissile : CFlameMissile Replaces CFlameMissile
{
	Damage (frandom(26,46)*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,AAPTR_TARGET)))
	+MTHRUSPECIES /*+NODAMAGETHRUST*/
	/*+NODAMAGETHRUST*/
	+DONTBLAST
	States
	{
	Spawn:
		CFFX A 4 Bright
		CFFX A 1 A_CFlamePuff
		Goto Death+1
	Death:
		CFFX A 0 Bright A_CFlameMissile
		CFFX AAABBBCCC 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX DDDD 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX EEE 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX FFFF 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX GGG 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX HHHH 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX III 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX JJJJ 1 Bright A_SpawnItemEx("FirestormFXSpawner")
		CFFX K 3 Bright
		CFFX L 4 Bright
		CFFX M 3 Bright
		Stop
	}
}

ACTOR FireStreak
{
	Radius 5
	Height 12
	Mass 9
	Speed 40
	damage (frandom(15,30)*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,AAPTR_TARGET)))
	PROJECTILE
	RenderStyle Add
	Damagetype "fire"
	+MTHRUSPECIES /*+NODAMAGETHRUST*/
	+FLOORHUGGER
	+DONTBLAST
	ReactionTime 20
	DeathSound "ClericFlameExplode"
	States
	{
	Spawn:
		FX13 A 0 Bright A_CountDown
		FX13 a 2 Bright A_SpawnItemEx("FireStreakTrail",frandom(-2,2),frandom(-2,2),0)
		Loop
	Death:
		FX13 I 0 Bright Radius_Quake(2,10,0,3,0)
		FX13 I 2 Bright A_Explode(64*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,AAPTR_TARGET)), 128, 0)
		FX13 J 2 Bright
		FX13 K 2 Bright
		FX13 L 2 Bright
		FX13 M 2 Bright
		stop
	}
}

ACTOR FireStreakTrail
{
	Speed 5
	Height 3
	Radius 3
	Mass 9
	Damage 0
	PROJECTILE
	RENDERSTYLE ADD
	+FLOORHUGGER
	+clientsideonly
	+NOINTERACTION
	+DONTBLAST
	States
	{
	Spawn:
		FX13 DC 2 Bright
		FX13 BCDE 3 Bright
		FX13 FGH 2 Bright
		Stop
	Death: 
		TNTA A 1
		Stop
	}
}

actor FirestormFXSpawner
{
	+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +DONTBLAST
    states
	{
	Spawn:
	Active:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(Args[1], "Circle")
		TNT1 A 2
		TNT1 A 0 A_SpawnItemEx ("FirestormParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), 0 , 129, Args[2])
		TNT1 A 0 A_SpawnItemEx ("FirestormParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), 0 , 129, Args[2]) 
		Stop
	Circle:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx ("NewCFlameFloorParticleFX", frandom(-Args[0], Args[0]), 0, frandom(0, 8), (0.1)*frandom(1, 3), 0, (0.1)*frandom(1, 10), 0 , 129, Args[2]) 
		Loop
	Inactive:
		TNT1 A 1
		Loop
	}    
}

ACTOR FirestormParticleFX
{
	+Missile
	+NoBlockmap
	+NoInteraction
	-Solid
	+CLIENTSIDEONLY
	+DONTBLAST
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.4
	Gravity 0.25
	States
	{
	Spawn:
		CFFX AABBCCDDEEFFGGHHIIJJ 1 Bright A_FadeOut(0.06)
		Stop
	}
}

actor NewCFlameFloorFXSpawner
{
	+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY +DONTBLAST
    states
	{
	Spawn:
	Active:
		TNT1 A 0
		TNT1 A 0 A_JumpIf(Args[1], "Circle")
		TNT1 A 2
		TNT1 A 0 A_SpawnItemEx ("NewCFlameFloorParticleFX", 0, 0, frandom(-2, -2), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.4)*frandom(-3, 3), 0 , 129, Args[2])
		TNT1 A 0 A_SpawnItemEx ("NewCFlameFloorParticleFX", 0, 0, frandom(2, 2), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.4)*frandom(-3, 3), 0 , 129, Args[2]) 
		Stop
	Circle:
		TNT1 A 0
		TNT1 A 2 A_SpawnItemEx ("NewCFlameFloorParticleFX", frandom(-Args[0], Args[0]), 0, frandom(0, 8), (0.1)*frandom(1, 3), 0, (0.1)*frandom(1, 10), 0 , 129, Args[2]) 
		Loop
	Inactive:
		TNT1 A 1
		Loop
	}   
}

ACTOR NewCFlameFloorParticleFX
{
	+Missile
	+NoBlockmap
	+NoInteraction
	-Solid
	+CLIENTSIDEONLY
	+DONTBLAST
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.8
	Scale 0.5
	Gravity 0.25
	States
	{
	Spawn:
		CFFX NNNOOOOPPP 1 Bright A_FadeOut(0.06)
		Stop
	}
}

ACTOR NewCFlameFloor replaces CFlameFloor
{
	+NOBLOCKMAP
	+NOGRAVITY
	+DONTBLAST
	RenderStyle Add
	States
	{
	Spawn:
		CFFX NNNNN 1 Bright A_SpawnItemEx("NewCFlameFloorFXSpawner")
		CFFX OO 1 Bright A_SpawnItemEx("NewCFlameFloorFXSpawner")
		CFFX O 2 Bright
		CFFX P 3 Bright
		Stop
	}
}

Actor NewCircleFlame : CircleFlame Replaces CircleFlame
{
	Damage 0
	Radius 8
	Height 8
	+MTHRUSPECIES /*+NODAMAGETHRUST*/
	/*+NODAMAGETHRUST*/
	+DONTBLAST
	States
	{
	Death:
		CFCF Q 3 Bright A_Explode(20*0.025*(30+ACS_executewithresult(WOC_DECORATE,STATS,INTELLECT,AAPTR_TARGET)), 40, 0)
		CFCF RS 3 Bright
		CFCF TUVWXYZ 3 Bright
		Stop
	}
}